import base64
from typing import List

import shortuuid
from peewee import JOIN

from afast_core.core_libs.captcha.cilent import generate_captcha
from afast_core.core_tools.jwt_helper import SimpleAuth
from infirmary_admin_src.infirmary_common.infirmary_controller import IAsyncSessionBaseController, IBaseController
from infirmary_admin_src.infirmary_common.infirmary_controller.rest_controller_with_depends import \
    RestControllerWithDepends
from fastapi import Request, Depends, Path
from afast_core.core_tools import json_helper
from infirmary_admin_src.infirmary_system.infirmary_biz.businesses.schemas import SchemaBase
from infirmary_admin_src.infirmary_system.infirmary_biz.businesses.services.service_businesses import LogicBusinesses
from infirmary_admin_src.infirmary_system.infirmary_models.dbhelper import session_scope
from infirmary_admin_src.infirmary_system.infirmary_models.model import InfirmaryDoctor, InfirmaryDoctorStation, \
    InfirmaryStation, InfirmarySchedulingRules


class XParam(SchemaBase):
    '''
    账号密码登录参数
    '''
    RelationId: str = Path(..., title="RelationId", description='RelationId')


class IController(IBaseController):
    '''
    定制相关约束检测函数逻辑步序
    '''

    def __init__(self, *, request: Request,
                 schema_param: XParam=Depends(),
                 ):
        super().__init__(request=request)
        # 入参参数
        # 入参参数
        self.schema_param = schema_param


@RestControllerWithDepends()
class SupportHelpDocQueryController(IController):

    def business_login(self):
        pass
        return []
